﻿using BCDto.WeChatComponent.WeChatCustomMenu;
using System;
using System.Collections.Generic;
using System.Text;

namespace BCService.WeChatComponent.WeChatCustomMenuService
{
    /// <summary>
    /// 微信自定义菜单服务接口
    /// </summary>
    public interface IWeChatCustomMenuService
    {
        /// <summary>
        /// 添加微信自定义菜单
        /// </summary>
        /// <param name="weChatCustomMenuRequestDto">微信自定义菜单信息</param>
        /// <returns></returns>
        WeChatCustomMenuDto Add(WeChatCustomMenuRequestDto weChatCustomMenuRequestDto);
        /// <summary>
        /// 修改微信自定义菜单
        /// </summary>
        /// <param name="weChatCustomMenuId">微信自定义菜单Id</param>
        /// <param name="weChatCustomMenuRequestDto">自定义菜单信息</param>
        /// <returns></returns>
        WeChatCustomMenuDto Update(int weChatCustomMenuId, WeChatCustomMenuRequestDto weChatCustomMenuRequestDto);
        /// <summary>
        /// 删除菜单按钮
        /// </summary>
        /// <param name="weChatCustomMenuId">微信菜单按钮Id</param>
        void Delete(int weChatCustomMenuId);
        /// <summary>
        /// 获取微信自定义菜单列表
        /// </summary>
        /// <returns></returns>
        IEnumerable<WeChatCustomMenuDto> GetList();
        /// <summary>
        /// 发布菜单
        /// </summary>
        /// <returns></returns>
        bool PushMenu();
        /// <summary>
        /// 获取单个菜单按钮
        /// </summary>
        /// <param name="weChatCustomMenuId">微信菜单按钮Id</param>
        WeChatCustomMenuDto Get(int weChatCustomMenuId);
        /// <summary>
        /// 删除微信服务器自定义菜单
        /// </summary>
        /// <returns></returns>
        bool RemoveWeChatMenu();
        
    }
}
